<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/template.xhtml">
	<ui:define name="title">
		SGMF :: Funcionário
	</ui:define>
	
	<ui:define name="content">
		<h:form id="form">
			<h:inputHidden id="funcionario_id" value="#{funcionarioBean.funcionario.id}" rendered="#{funcionarioBean.funcionario.id != null}" />
			<h:inputHidden id="endereco_id" value="#{funcionarioBean.endereco.id}" rendered="#{funcionarioBean.endereco.id != null}" />
			<p:fieldset legend="Funcionário">
				<p:panelGrid columns="3" styleClass="borderless">
					<p:outputLabel value="Matrícula" for="matricula" />
					<p:inputText id="matricula" type="text" label="Matrícula" value="#{funcionarioBean.funcionario.matricula}" required="true" maxlength="6" size="6" />
					<p:message for="matricula" />
					<p:outputLabel value="Nome" for="nome" />
					<p:inputText id="nome" type="text" label="Nome" value="#{funcionarioBean.funcionario.nome}" required="true" maxlength="40" size="40"/>
					<p:message for="nome" />
					<p:outputLabel value="CPF" for="cpf" />
					<p:inputMask id="cpf" label="CPF" value="#{funcionarioBean.funcionario.cpf}" required="true" mask="999.999.999-99" validator="cpfValidator" maxlength="14" size="15"/>
					<p:message for="cpf" />
				</p:panelGrid>
			</p:fieldset>
			<br />
			<p:fieldset legend="Endereço">
				<p:panelGrid columns="3" styleClass="borderless">
					<p:outputLabel value="CEP" for="cep" />
					<p:inputMask id="cep" label="CEP" value="#{funcionarioBean.endereco.cep}" required="true" mask="99.999-999" />
					<p:message for="cep" />
					<p:outputLabel value="Estado" for="estado" />
					<p:selectOneMenu id="estado" value="#{funcionarioBean.endereco.estado}" required="true">
						<f:selectItem itemValue="#{null}" itemLabel="#{null}" />
						<f:selectItems value="#{funcionarioBean.estados}" var="estado" itemValue="#{setor}" itemLabel="#{estado}" />
					</p:selectOneMenu>
					<p:message for="estado" />
					<p:outputLabel value="Cidade" for="cidade" />
					<p:inputText id="cidade" type="text" label="Cidade" value="#{funcionarioBean.endereco.cidade}" required="true" maxlength="50" size="50"/>
					<p:message for="cidade" />
					<p:outputLabel value="Bairro" for="bairro" />
					<p:inputText id="bairro" type="text" label="Bairro" value="#{funcionarioBean.endereco.bairro}" required="true" maxlength="50" size="50"/>
					<p:message for="bairro" />
					<p:outputLabel value="Logradouro" for="logradouro" />
					<p:inputText id="logradouro" type="text" label="Logradouro" value="#{funcionarioBean.endereco.logradouro}" required="true" maxlength="50" size="50"/>
					<p:message for="logradouro" />
					<p:outputLabel value="Número" for="numero" />
					<p:inputText id="numero" type="text" label="Número" value="#{funcionarioBean.endereco.numero}" required="true" maxlength="5" size="5"/>
					<p:message for="numero" />
					<p:outputLabel value="Complemento" for="complemento" />
					<p:inputText id="complemento" type="text" label="Complemento" value="#{funcionarioBean.endereco.complemento}" required="true" maxlength="50" size="50"/>
					<p:message for="complemento" />
				</p:panelGrid>
			</p:fieldset>
			<br />
			<p:commandButton value="Novo" update="display" icon="ui-icon-new" />
			<p:commandButton id="salvar" value="Salvar"	action="#{funcionarioBean.salvar}" update=":growl, :form, :datatable_form" icon="ui-icon-disk" />
		</h:form>
		<br />
		<h:form id="datatable_form">
			<p:dataTable id="datatable" var="funcionario"
				value="#{funcionarioBean.funcionarios}" rows="10" paginator="true"
				paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
				currentPageReportTemplate="({currentPage} de {totalPages})" rowsPerPageTemplate="10,20,30" emptyMessage="Nenhum registro encontrado.">
				<f:facet name="header">
		        	Lista de Funcionários
		    	</f:facet>
				<p:column headerText="ID">
					<h:outputText value="#{funcionario.id}" />
				</p:column>
				<p:column headerText="Matrícula">
					<h:outputText value="#{funcionario.matricula}" />
				</p:column>
				<p:column headerText="Nome">
					<h:outputText value="#{funcionario.nome}" />
				</p:column>
				<p:column headerText="CPF">
					<h:outputText value="#{funcionario.cpf}" />
				</p:column>
				<p:column headerText="Ações" styleClass="column-action">
					<p:commandButton icon="ui-icon-pencil" title="Editar" actionListener="#{funcionarioBean.editar(funcionario)}" update=":growl, :form" />
					<p:commandButton icon="ui-icon-trash" title="Excluir" actionListener="#{funcionarioBean.excluir(funcionario)}" update=":growl, datatable">
						<p:confirm header="Confirmação" message="Deseja realmente excluir este funcionário" icon="ui-icon-alert" />
					</p:commandButton>
				</p:column>
			</p:dataTable>
		</h:form>
	</ui:define>
</ui:composition>

</html>